package cn.car.domains.vo.vehicleEntryExit;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

import java.util.Date;

@Data
@Schema(name = "CreateEntryExitInfoReq", description = "车辆出入信息创建请求参数")
public class CreateEntryExitInfoReq {

    /**
     * 车辆编号
     */
    @NotEmpty(message = "车辆编号不能为空")
    @Schema(name = "vehicleNumber", description = "车辆编号")
    private String vehicleNumber;


    /**
     * 车辆类型
     */
    @NotEmpty(message = "车辆类型不能为空")
    @Schema(name = "vehicleType", description = "车辆类型")
    private String vehicleType;


    /**
     * 车辆电话
     */
    @Schema(name = "vehiclePhone", description = "车辆联系电话")
    private String vehiclePhone;

    /**
     * 车辆地址
     */
    @Schema(name = "vehicleAddress", description = "车辆地址")
    private String vehicleAddress;

    /**
     * 车主姓名
     */
    @Schema(name = "ownerName", description = "车主姓名")
    private String ownerName;


    /**
     * 启用状态
     */
    @Schema(name = "enabled", description = "启用状态")
    private Boolean enabled;


    /**
     * 车牌颜色
     */
    @Schema(name = "vehiclePlateColor", description = "车牌颜色")
    private String vehiclePlateColor;

    /**
     * vin
     */
    @Schema(name = "vin", description = "车辆识别码 VIN")
    private String vin;



    /**
     * 运输车辆类型
     */
    @Schema(name = "entryExitVehicleType", description = "运输车辆类型")
    private String entryExitVehicleType;


    /**
     * 注册日期
     */
    @Schema(name = "registerTime", description = "注册日期（时间戳）")
    private Date registerTime;

    /**
     * 品牌
     */
    @Schema(name = "vehicleBrand", description = "车辆品牌")
    private String vehicleBrand;

    /**
     * 燃料类型
     */
    @Schema(name = "fuelType", description = "燃料类型")
    private String fuelType;

    /**
     * 排放标准
     */
    @Schema(name = "emissionStandard", description = "排放标准")
    private String emissionStandard;

    /**
     * 联网状态
     */
    @Schema(name = "networkStatus", description = "联网状态")
    private String networkStatus;

    /**
     * 使用性质
     */
    @Schema(name = "usageNature", description = "使用性质")
    private String usageNature;

    /**
     * 随车清单
     */
    @Schema(name = "attachedListUrl", description = "随车清单 URL")
    private String attachedListUrl;

    /**
     * 驾驶证
     */
    @Schema(name = "drivingLicenseUrl", description = "驾驶证 URL")
    private String drivingLicenseUrl;

    /**
     * 发动机编码
     */
    @Schema(name = "engineNo", description = "发动机编码")
    private String engineNo;

    /**
     * 发动机型号
     */
    @Schema(name = "engineType", description = "发动机型号")
    private String engineType;

    /**
     * 发动机制造商名称
     */
    @Schema(name = "engineManufacturer", description = "发动机制造商名称")
    private String engineManufacturer;
}
